Generally, in the field of wireless communication, in particular communication between machines, so-called machine-to-machine (M2M) communication, it is known that the wireless communication devices, at least the incorporated embedded communication units, so-called M2M modules, are more and more designed to provide just as less resources as possible. Such resources can in particular comprise volatile and non-volatile memory. Such memory is dedicated to store above all the device's firmware. The firmware is—in the field of embedded systems—the software program that fulfills all tasks of the respective wireless communication device. The respective firmware therefore conforms in particular to the operating software of the machine-to-machine modules or of other embedded communication units of the mentioned devices.
In this context the problem appears, that throughout the lifetime of a wireless communication device the firmware will most likely not stay constant. There are many reasons to provide adaptations of the firmware, the most important ones are to provide bug fixes, e.g. in case of security related bugs, to provide complete new releases or to provide adaptations for certain environments. Additionally there is a growing need for a variety of functional and configurative adaptations of the wireless communication devices in particular for optimally operating them in different operator's wireless networks.
The solutions known in the art for updating the firmware require a certain range of available resources, in the most common cases at least enough memory space to store both the old and active and the new firmware at the same time.
It is obvious that this precondition is incompatible with the described demand for as less resources as possible. This is in particular true when it is made aware that this amount of resources—as described for the solutions of the prior art—is only needed during the update procedure, but not during the real runtime period.
Further it is required in the field of M2M devices that such a firmware update is conducted remotely, that means without a person having to travel e.g. to remotely installed metering devices, or that a car equipped with a wireless communication device had not to come to the garage for the update.
To summarize there is a growing demand for solving the problem of remotely updating wireless communication devices with limited resources.